The increasing size and complexity of various spacecraft and associated subsystems therefore have created a need for detailed validation and verification before deployment. Examples of spacecraft subsystems requiring validation and verification include: (i) multiprocessor-based systems which can have complex software architectures; (ii) fault detection, isolation and response systems providing extended autonomous operations; (iii) multiple-articulated payloads and multibody control; (iv) precision payload pointing systems with multiple interacting elements; and (v) sophisticated ground software for automated spacecraft operations.
However, system-level ground testing to verify full system performance of a spacecraft and associated ground system can be costly and/or inadequate. Present implementations of hardware-in-the-loop systems to provide ground testing require special purpose interface hardware and harnessing to create a test environment whereby system hardware or emulations thereof can be integrated with high-fidelity, non-linear, real-time simulations and then instrumented to facilitate verification and validation testing.
Embedded processors and software that constitute various spacecraft subsystems implement asynchronous, real-time processes that require integration and synchronization with real-time processes on the earth. To accommodate nominal operational processes, the space and ground based systems depend upon split second synchronization on the order of microseconds. Spacecraft systems therefore have highly accurate oscillators and clocks while ground systems utilize stratum zero time references. To facilitate adequate testing, it is imperative that the real-time behavior of the systems under test not be compromised. Otherwise, the system under test may yield inaccurate results or become inoperative.
Known implementations of such systems require a substantial amount of effort to achieve some measure of time domain fidelity and must extrapolate test results to achieve some level of verification and validation. Known systems require manual intervention to initialize the system and then periodic tuning to maintain an acceptable level of fidelity relative to the time domain. For instance, the reference simulation system clock had to be initialized by the operator. The resulting simulation was a function of the operator's hand-eye coordination and subject to propagation delays and uncertainties within the operating system. Embedded clocks within the hardware-in-the-loop test environment would then periodically have to be tuned to accommodate their inherent drift and bias as well as the drift and bias of the reference clock. Some of these tuning mechanisms were automated and complex. Others required some human-in-the-loop activity. Thus, known systems employ complex mechanisms and human interaction to adjust time references and clocks in order to achieve a measure of synchronization, sufficient to be able to continue operational testing and perhaps sufficient to extrapolate and evaluate test results.
U.S. Pat. No. 5,808,921 is commonly assigned and was co-invented by the inventor of the present invention. In the '921 patent, multiple circuit board based oscillators were used to keep and synchronize the timing function. Accurate time keeping is desirable to simulate real world situations and the U.S. Pat. No. 5,808,921 has limited functionality because the several oscillators used to create clocks are subject to drift rates and biases that result is system clocks that have marginal accuracy and lack any definitive level of synchronization. Consequently the time domain fidelity of the test environment is marginally sufficient and diminishes over time. As a result, the fidelity of the test environment and the validity of the results are questionable. When involved in long-term test, the degradation often causes premature termination of the testing. U.S. Pat. No. 5,808,921 is hereby incorporated by reference.
It would therefore be desirable to provide an emulation system with improved time domain fidelity to increase the precision and functionality of the test environment and ultimately, the validity and quality of the testing prior to deployment of the operational system.